Digital marketing includes the targeted, measurable, and interactive marketing of products or services using digital technologies to reach and convert leads into customers. Digital marketing can promote brands, build preference, and increase sales through various digital marketing techniques. As part of their marketing efforts, digital marketers often wish to identify customers. Thus, identifying a customer association with a device or set of devices, and not just identifying the device or set of devices independently, is important in digital marketing to consistently target, measure, and interact with the identified customer based on the customer's association with the device or set of devices.
While conventional digital marketing tools support identifying devices and tracking device activity, the tools are limited when it comes to identifying associations between a customer and a device or a customer and a set of devices. By way of example, conventional digital marketing tools are deficient in identifying customer-device associations over extended periods of time. In operation, conventional digital marketing tools only implement “snapshots in time” solutions, in which associations between customers and devices or sets of devices are determined only for short periods of time. For example, customer-device associations usually are determined only for a period while the customer is logged on a website or only when the customer is browsing from a particular location. As such, currently, customer-device associations are unstable over periods of time and unstable associations do not adequately support implementing digital marketing strategies.
In addition, existing clustering algorithms that could be used to support identifying customer-device associations are deficient when applied to large data systems supporting rich customer and device data. In particular, existing clustering algorithms include high computational complexity, which makes conventional solutions impractical for use with large and complex datasets. As a result, existing clustering algorithms result in less scalable and less efficient implementations.